#ifndef ENTITY_MANAGER_H
#define ENTITY_MANAGER_H

#include "BaseEntity.h"
#include <map>

//==============================================================================
// Entity Manager for message, Singleton class.
class EntityManager {
public:
	static EntityManager* Instance();

	void registerEntity(BaseEntity* p_newEntity);

	BaseEntity* getEntityFromID(int p_ID) const;

	void removeEntity(BaseEntity* p_entity);



private:
	std::map<int, BaseEntity*> m_entityMap;

	EntityManager() {}
	EntityManager(const EntityManager&);
	EntityManager& operator=(const EntityManager&);
};
//==============================================================================

#endif